Improve types around template rendering #258
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Big improvements here are:
template.Template.render
now returnsSafeText
instead ofAny
.DjangoDivFormRenderer
andJinja2DivFormRenderer
informs.renderers
.template.backends.base._BaseTemplate
protocol class that imitates the abstractBaseTemplate
class from DEP 182. This is needed because there is no real parent class from which each template backend inherits from, they implement their ownTemplate
classes from scratch. So,BaseEngine
needed a return type for its abstract methods, which is what_BaseTemplate
provides.Other changes include reducing repetition, adding more specific Template types for the different backends, using more generic
Mapping
type instead ofdict
for template contexts.